package com.huatai.manage.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDate;

import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.huatai.manage.base.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;

/**
 * <p>
 * 模板表;
 * </p>
 *
 * @author luoxc
 * @since 2023-03-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tb_trial_scheme")
@ApiModel(value = "TbTrialScheme对象", description = "模板表;")
public class TbTrialSchemeEntity extends BaseEntity {

	@ApiModelProperty(value = "主键id")
	@TableId(value = "id", type = IdType.AUTO)
	private Integer id;

	@ApiModelProperty(value = "方案id")
	private String schemeId;

	@ApiModelProperty(value = "方案名称(新增/修改时不能为空)", required = true)
	@NotBlank(message = "方案名称不能为空！")
	private String name;

	@ApiModelProperty(value = "试验id", required = true)
	@NotBlank(message = "试验id不能为空！")
	private String trialId;

	@ApiModelProperty(value = "项目名称", required = true)
	@NotBlank(message = "项目名称不能为空！")
	private String trialName;

	@ApiModelProperty(value = "试验类型")
	@TableField(exist = false)
	private String trialType;

	@ApiModelProperty(value = "方案说明")
	private String description;

	@ApiModelProperty(value = "更新时间(新增/修改时不能为空)", required = true)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	private LocalDateTime lastUpdateAt;

	@ApiModelProperty(value = "倍率")
	private String scale;

	@ApiModelProperty(value = "母版宽高")
	private Object size;

	@ApiModelProperty(value = "方案组件")
	private Object components;

	@ApiModelProperty(value = "状态")
	private String state = "1";


	@ApiModelProperty(value = "备注")
	private String remark;

}
